package com.founder.devwork.controller;

import java.time.Instant;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * AuthController 用于处理与用户认证相关的请求。
 * 提供登录和令牌验证功能。
 */
@RestController
@RequestMapping("/api/auth")
public class AuthController {

    /**
     * 处理用户登录请求。
     * @param request 包含用户名和密码的请求体
     * @return 用户信息
     */
    @PostMapping("/login")
    public Map<String, Object> login(@RequestBody Map<String, String> request) {
        System.out.println("Received login request: " + request);
        return getUserInfo();
    }

    /**
     * 获取用户信息。
     * @return 用户信息
     */
    private Map<String, Object> getUserInfo() {
        Map<String, Object> response = new HashMap<>();
        response.put("id", "1234567890");
        response.put("first_name", "Jimmybly");
        response.put("last_name", "Lee");
        response.put("email_verified_at", Instant.now());
        response.put("created_at", Instant.now());
        response.put("updated_at", Instant.now());
        response.put("api_token", "1234567890");
        return response;
    }

    /**
     * 验证令牌。
     * @return 用户信息
     */
    @PostMapping("/verify_token")
    public Map<String, Object> verifyToken() {
        return getUserInfo();
    }
}
